﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Insifo.WE;
using System.Web;
using System.ServiceModel.Activation;
using System.Data;

[AspNetCompatibilityRequirements(
 RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "WCAplicacion" in code, svc and config file together.
public class WCServicio : IWCServicio
{
    public List<DynaTreeNodeMenu> ListarMenuPorNivel(int pintIdAplicacion, int pintIdMenu, string pstrCodigoUsuario)
    {
        WCUsuarioMenu.BEUsuarioMenu be = new WCUsuarioMenu.BEUsuarioMenu() { IdAplicacion = pintIdAplicacion, IdMenu = pintIdMenu, CodigoUsuario = pstrCodigoUsuario };
        DataTable dt = null;
        using (var client = new ServiceClient<WCUsuarioMenu.IWCUsuarioMenu>("BasicHttpBinding_IWCUsuarioMenu"))
        {
            dt = client.ServiceOperation<DataTable>(c => c.ListarPorNivel(be).Tables[0]);
        }
        List<DynaTreeNodeMenu> arrTree = new List<DynaTreeNodeMenu>();
        foreach (DataRow dr in dt.Rows)
        {
            DynaTreeNodeMenu beTree = new DynaTreeNodeMenu();

            beTree.key = dr["IdMenu"].ToString();
            beTree.title = dr["Descripcion"].ToString();
            beTree.isFolder = true;
            beTree.isLazy = true;
            beTree.cookieId = dr["Orden"].ToString();
            beTree.TipoMenu = dr["TipoControl"].ToString();
            if (int.Parse(dr["Seleccion"].ToString()) > 0) //Indica si esta marcado el check (true: marcado  | false; no marcado)
            {
                beTree.select = true;
            }
            beTree.selected = int.Parse(dr["Seleccionado"].ToString()); //Indica si existe en BD. (1: existe | 0: no existe)
            //beTree.selected = 0;
            if (dr["TipoControl"].ToString() == "G")
            {
                beTree.addClass = "clasegactivo";
            }
            else if (dr["TipoControl"].ToString() == "B")
            {
                beTree.addClass = "clasebactivo";
                beTree.isFolder = false;
                beTree.isLazy = false;
            }
            else
                beTree.addClass = "claseoactivo";

            arrTree.Add(beTree);
        }
        return arrTree;
    }

    // public List<DynaTreeNodeMenu> ObtenerMenuAplicacion(int pintIdAplicacion)
    //{
    //    WCAplicacion.BEAplicacion be = new WCAplicacion.BEAplicacion() { IdAplicacion = pintIdAplicacion};
    //    using (var client = new ServiceClient<WCAplicacion.IWCAplicacion>("BasicHttpBinding_IWCAplicacion"))
    //    {
    //        be = client.ServiceOperation<WCAplicacion.BEAplicacion>(c => c.Obtener(be));
    //    }
    //    List<DynaTreeNodeMenu> arrTree = new List<DynaTreeNodeMenu>();

    //    DynaTreeNodeMenu beTree = new DynaTreeNodeMenu();

    //    beTree.key = "0";
    //    beTree.title = be.Descripcion;
    //    beTree.isFolder = true;
    //    beTree.isLazy = true;
    //    beTree.cookieId = be.IdAplicacion.ToString();
    //    beTree.seleccion = 0;
    //    arrTree.Add(beTree);

    //    return arrTree;
    //}


    #region LLAMDAS A WEBSERVICES


    #endregion LLAMDAS A WEBSERVICES
}
